package junior.util.address;

public interface AddressIndexScorer<T> {
	
	/**
	 * 获取数据的id，如果匹配的多个结果打分相同，相同id出现次数最高的认为最匹配
	 * 
	 * @param data 数据
	 * @return 数据的id
	 * @author ZhangXiaoye
	 * @date 2016年11月19日 下午5:11:08
	 */
	public long getId(T data);
	
	/**
	 * 对地址和匹配的地址进行打分
	 * 
	 * @param address 地址
	 * @param matchedAddress 匹配到的地址
	 * @param data 数据
	 * @return 打分，认为分值越高越匹配
	 * @author ZhangXiaoye
	 * @date 2016年11月19日 下午5:11:58
	 */
	public double score(Address address, Address matchedAddress, T data);

}
